package windows;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @author Admin
 * @title: MainFrame
 * @projectName BMS
 * @description: MainFrame
 * @date 2025/1/4 15:38
 */
public class MainFrame extends PublicJFrame{
    //成员变量
    private JMenuItem mi_user_upkeep; // 声明用户维护 菜单项
    private JMenuItem mi_reader_upkeep; // 声明读者维护 菜单项
    private JMenuItem mi_book_upkeep; // 声明图书维护 菜单项
    private JMenuItem mi_borrow; // 声明借书 菜单项
    private JMenuItem mi_back; // 声明还书 菜单项
    private JMenuItem mi_reader_query; // 声明读者查询 菜单项
    private JMenuItem mi_book_query; // 声明图书查询 菜单项
    private JMenuItem mi_update_pass; // 声明修改密码 菜单项
    private JMenuItem mi_book_statistics; // 声明图书统计 菜单项
    private JMenuItem mi_eit; // 声明退出系统 菜单项

    private JButton bt_reader_upkeep; // 声明读者维护 按钮
    private JButton bt_book_upkeep; // 声明图书维护 按钮
    private JButton bt_borrow; // 声明借书 按钮
    private JButton bt_back; // 声明还书 按钮
    private JButton bt_reader_query; // 声明读者查询 按钮
    private JButton bt_book_query; // 声明图书查询 按钮
    private JButton bt_book_statistics; // 声明图书统计 按钮
    private JButton bt_exit; // 声明退出系统 按钮

    //构造方法  系统主界面初始化方法
    public MainFrame() {
        this.setTitle("图书管理系统");
        this.setExtendedState(JFrame.MAXIMIZED_BOTH); // 最大化窗口
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序
        this.setLocationRelativeTo(null); // 窗口居中显示

        this.setJMenuBar(createMenuBar()); // 设置菜单栏
        this.add(createToolBar(), BorderLayout.NORTH); // 设置工具栏
    }

    private JMenuBar createMenuBar() {
        JMenuBar menuBar = new JMenuBar();
        JMenu menu_upkeep = new JMenu("基础维护");
        mi_user_upkeep = new JMenuItem("用户维护");
        mi_user_upkeep.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //调用用户维护响应方法
                user_upkeep_actionPerformed();
            }
        });
        //将菜单项添加到菜单上
        menu_upkeep.add(mi_user_upkeep);

        mi_reader_upkeep = new JMenuItem("读者维护");
        mi_reader_upkeep.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //调用读者维护响应方法
                reader_upkeep_actionPerformed();
            }
        });
        menu_upkeep.add(mi_reader_upkeep);

        mi_book_upkeep = new JMenuItem("图书维护");
        mi_book_upkeep.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //调用图书维护响应方法
                book_upkeep_actionPerformed();
            }
        });
        menu_upkeep.add(mi_book_upkeep);

        //将基础维护 菜单添加到系统菜单栏
        menuBar.add(menu_upkeep);
        JMenu menu_borrow = new JMenu("借阅管理");
        mi_borrow = new JMenuItem("借书");
        mi_borrow.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //调用借书响应方法
                borrow_actionPerformed();
            }
        });
        menu_borrow.add(mi_borrow);

        mi_back = new JMenuItem("还书");
        mi_back.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //调用图书维护响应方法
                back_actionPerformed();
            }
        });
        menu_borrow.add(mi_back);
        menuBar.add(menu_borrow); //将借阅管理菜单 添加到系统菜单栏

        return menuBar;
    }

    // 创建菜单栏
}
